#pragma once
#include "analyze.h"
#include "global.h"
#include "symtab.h"

class analyze
{
public:
	analyze(void);
	~analyze(void);
	static void traverse(TreeNode*t, void (*preProc)(TreeNode*), void (*postProc)(TreeNode*));
	static void nullProc(TreeNode*t);
	static void insertNode(TreeNode*t);
	static void buildSymtab(TreeNode*syntaxTree);
    static void typeError(TreeNode*t, char*message);
	static void semanticError(TreeNode*t, char*message);
	static void checkNode(TreeNode*t);
	static void typeCheck(TreeNode*syntaxTree);
};
